package com.itheima.d1_map_impl;

import java.util.Comparator;
import java.util.TreeMap;

/**
 * 目标：掌握TreeMap集合的使用。
 */
public class Test3TreeMap {
    public static void main(String[] args) {
        //按照元素自带排序规则进行排序（通常是升序排序）
        //自带排序规则：元素类型如果实现了Comparable，说明自带排序规则
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        treeMap.put(5, "xxx");
        treeMap.put(1, "xxx");
        treeMap.put(3, "xxx");
        treeMap.put(2, "xxx");
        treeMap.put(4, "xxx");
        System.out.println("treeMap = " + treeMap);
        //treeMap = {1=xxx, 2=xxx, 3=xxx, 4=xxx, 5=xxx}

        //给TreeMap自定义排序的规则
        //降序
        TreeMap<Integer, String> treeMap2 = new TreeMap<>(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
//                return o2.compareTo(o1);
                return Integer.compare(o2, o1);
            }
        });
        treeMap2.put(5, "xxx");
        treeMap2.put(1, "xxx");
        treeMap2.put(3, "xxx");
        treeMap2.put(2, "xxx");
        treeMap2.put(4, "xxx");
        System.out.println("treeMap2 = " + treeMap2);
        //treeMap2 = {5=xxx, 4=xxx, 3=xxx, 2=xxx, 1=xxx}
    }
}
